Avoid a division by zero
authorMatthias Clasen <mclasen@redhat.com>
Mon, 25 Jul 2016 12:32:24 +0000 (08:32 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 25 Jul 2016 12:32:24 +0000 (08:32 -0400)
It appears that xvfb returns nonsense in its xrandr resources.
Avoid a crash when that happens.

https://bugzilla.gnome.org/show_bug.cgi?id=768999

gdk/x11/gdkscreen-x11.c

index 34dfcccd58c3f695b8d4e141881254287b4166cd..c189053c92b909a24b9332e1bd147daa65a846de 100644 (file)
@@ -474,7 +474,8 @@ init_randr15 (GdkScreen *screen, gboolean *changed)
               XRRModeInfo *xmode = &resources->modes[j];
               if (xmode->id == crtc->mode)
                 {
-                  refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal *xmode->vTotal);
+                  if (xmode->hTotal != 0 && xmode->vTotal != 0)
+                    refresh_rate = (1000 * xmode->dotClock) / (xmode->hTotal * xmode->vTotal);
                   break;
                 }
             }